package com.ruoyi.trade.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 交易基础网格对象 trade_base_grid
 * 
 * @author ruoyi
 * @date 2025-09-03
 */
public class TradeBaseGrid extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一标识ID */
    private Long id;

    /** 节点价位 */
    @Excel(name = "节点价位")
    private Long gridNodePrice;

    /** 数量 */
    @Excel(name = "数量")
    private Long quantity;

    /** 实际成交价 */
    @Excel(name = "实际成交价")
    private BigDecimal actualTradePrice;

    /** 网格价格 */
    @Excel(name = "网格价格")
    private BigDecimal gridPrice;

    /** 手续费 */
    @Excel(name = "手续费")
    private BigDecimal fee;

    /** 是否已经做空锁定：0-未做空，1-做空 */
    @Excel(name = "是否已经做空锁定：0-未做空，1-做空")
    private Integer shortRestrictFlag;

    /** 做空合约 */
    @Excel(name = "做空合约")
    private String shortContract;

    /** 交易指令 */
    @Excel(name = "交易指令")
    private String tradeOrder;

    /** 投资人姓名 */
    @Excel(name = "投资信息id")
    private Long investmentId;

    /** 投资人姓名 */
    @Excel(name = "投资人姓名")
    private String investorName;

    /** 独立运营组 */
    @Excel(name = "独立运营组")
    private Long independentGroup;

    /** 创建时间 */
    private Date createdAt;

    /** 更新时间 */
    private Date updatedAt;

    public Long getInvestmentId() {
        return investmentId;
    }

    public void setInvestmentId(Long investmentId) {
        this.investmentId = investmentId;
    }

    public String getInvestorName() {
        return investorName;
    }

    public void setInvestorName(String investorName) {
        this.investorName = investorName;
    }

    public Long getIndependentGroup() {
        return independentGroup;
    }

    public void setIndependentGroup(Long independentGroup) {
        this.independentGroup = independentGroup;
    }

    public String getTradeOrder() {
        return tradeOrder;
    }

    public void setTradeOrder(String tradeOrder) {
        this.tradeOrder = tradeOrder;
    }


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setGridNodePrice(Long gridNodePrice) 
    {
        this.gridNodePrice = gridNodePrice;
    }

    public Long getGridNodePrice() 
    {
        return gridNodePrice;
    }

    public void setQuantity(Long quantity) 
    {
        this.quantity = quantity;
    }

    public Long getQuantity() 
    {
        return quantity;
    }

    public void setActualTradePrice(BigDecimal actualTradePrice) 
    {
        this.actualTradePrice = actualTradePrice;
    }

    public BigDecimal getActualTradePrice() 
    {
        return actualTradePrice;
    }

    public void setGridPrice(BigDecimal gridPrice) 
    {
        this.gridPrice = gridPrice;
    }

    public BigDecimal getGridPrice() 
    {
        return gridPrice;
    }

    public void setFee(BigDecimal fee) 
    {
        this.fee = fee;
    }

    public BigDecimal getFee() 
    {
        return fee;
    }

    public void setShortRestrictFlag(Integer shortRestrictFlag) 
    {
        this.shortRestrictFlag = shortRestrictFlag;
    }

    public Integer getShortRestrictFlag() 
    {
        return shortRestrictFlag;
    }

    public void setShortContract(String shortContract) 
    {
        this.shortContract = shortContract;
    }

    public String getShortContract() 
    {
        return shortContract;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return "TradeBaseGrid{" +
                "id=" + id +
                ", gridNodePrice=" + gridNodePrice +
                ", quantity=" + quantity +
                ", actualTradePrice=" + actualTradePrice +
                ", gridPrice=" + gridPrice +
                ", fee=" + fee +
                ", shortRestrictFlag=" + shortRestrictFlag +
                ", shortContract='" + shortContract + '\'' +
                ", tradeOrder='" + tradeOrder + '\'' +
                ", investmentId=" + investmentId +
                ", investorName='" + investorName + '\'' +
                ", independentGroup=" + independentGroup +
                ", createdAt=" + createdAt +
                ", updatedAt=" + updatedAt +
                '}';
    }
}
